Home

Operator Usage

Name

spike-merge

Description

spike-merge[t] input-seq
merge t time steps of superpositions in the given input sequence
the motivation for this operator is the idea of spike trains in neural circuits
this operator takes a t time step sum of spikes,
resulting in a more compressed spike train,
that corresponds to a longer measurement window


Examples

-- just an abstract example:
spike-merge[2] ssplit |abcdefghi>
    |a> + |b> . |c> + |d> . |e> + |f> . |g> + |h> . |i>

-- and another:
spike-merge[3] ssplit |abcdefghi>
    |a> + |b> + |c> . |d> + |e> + |f> . |g> + |h> + |i>

-- an example closer to that of a neural spike train:
-- note that for this to work we make use of |> as the identity element for superpositions
-- ie: sp + |> == |> + sp == sp, for any superposition sp
the |spike train> => 3|a> . |> . |> . |> . 5|b> . |> . |c> . |> . |> . |> . |> . |> . 2|d> . |> . |>

spike-merge[2] the |spike train>
    3|a> . |> . 5|b> . |c> . |> . |> . 2|d> . |>

spike-merge[3] the |spike train>
    3|a> . 5|b> . |c> . |> . 2|d>

spike-merge[4] the |spike train>
    3|a> . 5|b> + |c> . |> . 2|d>

spike-merge[5] the |spike train>
    3|a> + 5|b> . |c> . 2|d>

spike-merge[6] the |spike train>
    3|a> + 5|b> . |c> . 2|d>

spike-merge[7] the |spike train>
    3|a> + 5|b> + |c> . 2|d> . |>

spike-merge[8] the |spike train>
    3|a> + 5|b> + |c> . 2|d>


-- we can also merge spike trains using the op-sum[] operator
the-spike-train |1> => 3|a> . |> . |> . |> . 5|b> . |> . |c> . |> . |> . |> . |> . |> . 2|d> . |> . |>
the-spike-train |2> => |> . |> . 9|x> . |> . |> . |y> . |> . |> . |> . |> . 13|z> . |> . |>
the-spike-train |3> => |> . |u> . |> . |v> . |> . |w> . |> . |> . |> . |>

-- now merge them:
op-sum[the-spike-train] split[" "] |1 2 3>
    3|a> . |u> . 9|x> . |v> . 5|b> . |y> + |w> . |c> . |> . |> . |> . 13|z> . |> . 2|d> . |> . |>


See also

Operator type

sequence compound